# This Python file uses the following encoding: utf-8
#############################################################################
##
## Copyright (C) 2020 The Qt Company Ltd.
## Contact: https://www.qt.io/licensing/
##
## This file is part of Qt for Python.
##
## $QT_BEGIN_LICENSE:LGPL$
## Commercial License Usage
## Licensees holding valid commercial Qt licenses may use this file in
## accordance with the commercial license agreement provided with the
## Software or, alternatively, in accordance with the terms contained in
## a written agreement between you and The Qt Company. For licensing terms
## and conditions see https://www.qt.io/terms-conditions. For further
## information use the contact form at https://www.qt.io/contact-us.
##
## GNU Lesser General Public License Usage
## Alternatively, this file may be used under the terms of the GNU Lesser
## General Public License version 3 as published by the Free Software
## Foundation and appearing in the file LICENSE.LGPL3 included in the
## packaging of this file. Please review the following information to
## ensure the GNU Lesser General Public License version 3 requirements
## will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
##
## GNU General Public License Usage
## Alternatively, this file may be used under the terms of the GNU
## General Public License version 2.0 or (at your option) the GNU General
## Public license version 3 or any later version approved by the KDE Free
## Qt Foundation. The licenses are as published by the Free Software
## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
## included in the packaging of this file. Please review the following
## information to ensure the GNU General Public License requirements will
## be met: https://www.gnu.org/licenses/gpl-2.0.html and
## https://www.gnu.org/licenses/gpl-3.0.html.
##
## $QT_END_LICENSE$
##
#############################################################################

"""
This file contains the exact signatures for all functions in module
Qt.Qt3DInput, except for defaults which are replaced by "...".
"""

# Module Qt.Qt3DInput
import typing

class Object(object): pass

import shiboken2 as Shiboken
Shiboken.Object = Object

from . import QtCore
from . import QtGui
from . import Qt3DCore


class Qt3DInput(Shiboken.Object):

    class QAbstractActionInput(Qt3DCore.QNode): ...

    class QAbstractAxisInput(Qt3DCore.QNode):
        def setSourceDevice(self, sourceDevice:Qt3DInput.QAbstractPhysicalDevice): ...
        def sourceDevice(self) -> Qt3DInput.QAbstractPhysicalDevice: ...

    class QAbstractPhysicalDevice(Qt3DCore.QNode):

        def __init__(self, parent:typing.Optional[Qt3DCore.Qt3DCore.QNode]=...): ...

        def addAxisSetting(self, axisSetting:Qt3DInput.QAxisSetting): ...
        def axisCount(self) -> int: ...
        def axisIdentifier(self, name:str) -> int: ...
        def axisNames(self) -> typing.List: ...
        def axisSettings(self) -> typing.List: ...
        def buttonCount(self) -> int: ...
        def buttonIdentifier(self, name:str) -> int: ...
        def buttonNames(self) -> typing.List: ...
        def removeAxisSetting(self, axisSetting:Qt3DInput.QAxisSetting): ...

    class QAction(Qt3DCore.QNode):

        def __init__(self, parent:typing.Optional[Qt3DCore.Qt3DCore.QNode]=...): ...

        def addInput(self, input:Qt3DInput.QAbstractActionInput): ...
        def inputs(self) -> typing.List: ...
        def isActive(self) -> bool: ...
        def removeInput(self, input:Qt3DInput.QAbstractActionInput): ...

    class QActionInput(QAbstractActionInput):

        def __init__(self, parent:typing.Optional[Qt3DCore.Qt3DCore.QNode]=...): ...

        def buttons(self) -> typing.List: ...
        def setButtons(self, buttons:typing.List): ...
        def setSourceDevice(self, sourceDevice:Qt3DInput.QAbstractPhysicalDevice): ...
        def sourceDevice(self) -> Qt3DInput.QAbstractPhysicalDevice: ...

    class QAnalogAxisInput(QAbstractAxisInput):

        def __init__(self, parent:typing.Optional[Qt3DCore.Qt3DCore.QNode]=...): ...

        def axis(self) -> int: ...
        def setAxis(self, axis:int): ...

    class QAxis(Qt3DCore.QNode):

        def __init__(self, parent:typing.Optional[Qt3DCore.Qt3DCore.QNode]=...): ...

        def addInput(self, input:Qt3DInput.QAbstractAxisInput): ...
        def inputs(self) -> typing.List: ...
        def removeInput(self, input:Qt3DInput.QAbstractAxisInput): ...
        def value(self) -> float: ...

    class QAxisAccumulator(Qt3DCore.QComponent):
        Velocity                 : Qt3DInput.QAxisAccumulator = ... # 0x0
        Acceleration             : Qt3DInput.QAxisAccumulator = ... # 0x1

        class SourceAxisType(object):
            Velocity                 : Qt3DInput.QAxisAccumulator.SourceAxisType = ... # 0x0
            Acceleration             : Qt3DInput.QAxisAccumulator.SourceAxisType = ... # 0x1

        def __init__(self, parent:typing.Optional[Qt3DCore.Qt3DCore.QNode]=...): ...

        def scale(self) -> float: ...
        def setScale(self, scale:float): ...
        def setSourceAxis(self, sourceAxis:Qt3DInput.QAxis): ...
        def setSourceAxisType(self, sourceAxisType:Qt3DInput.QAxisAccumulator.SourceAxisType): ...
        def sourceAxis(self) -> Qt3DInput.QAxis: ...
        def sourceAxisType(self) -> Qt3DInput.QAxisAccumulator.SourceAxisType: ...
        def value(self) -> float: ...
        def velocity(self) -> float: ...

    class QAxisSetting(Qt3DCore.QNode):

        def __init__(self, parent:typing.Optional[Qt3DCore.Qt3DCore.QNode]=...): ...

        def axes(self) -> typing.List: ...
        def deadZoneRadius(self) -> float: ...
        def isSmoothEnabled(self) -> bool: ...
        def setAxes(self, axes:typing.List): ...
        def setDeadZoneRadius(self, deadZoneRadius:float): ...
        def setSmoothEnabled(self, enabled:bool): ...

    class QButtonAxisInput(QAbstractAxisInput):

        def __init__(self, parent:typing.Optional[Qt3DCore.Qt3DCore.QNode]=...): ...

        def acceleration(self) -> float: ...
        def buttons(self) -> typing.List: ...
        def deceleration(self) -> float: ...
        def scale(self) -> float: ...
        def setAcceleration(self, acceleration:float): ...
        def setButtons(self, buttons:typing.List): ...
        def setDeceleration(self, deceleration:float): ...
        def setScale(self, scale:float): ...

    class QInputAspect(Qt3DCore.QAbstractAspect):

        def __init__(self, parent:typing.Optional[QtCore.QObject]=...): ...

        def availablePhysicalDevices(self) -> typing.List: ...
        def createPhysicalDevice(self, name:str) -> Qt3DInput.QAbstractPhysicalDevice: ...

    class QInputChord(QAbstractActionInput):

        def __init__(self, parent:typing.Optional[Qt3DCore.Qt3DCore.QNode]=...): ...

        def addChord(self, input:Qt3DInput.QAbstractActionInput): ...
        def chords(self) -> typing.List: ...
        def removeChord(self, input:Qt3DInput.QAbstractActionInput): ...
        def setTimeout(self, timeout:int): ...
        def timeout(self) -> int: ...

    class QInputSequence(QAbstractActionInput):

        def __init__(self, parent:typing.Optional[Qt3DCore.Qt3DCore.QNode]=...): ...

        def addSequence(self, input:Qt3DInput.QAbstractActionInput): ...
        def buttonInterval(self) -> int: ...
        def removeSequence(self, input:Qt3DInput.QAbstractActionInput): ...
        def sequences(self) -> typing.List: ...
        def setButtonInterval(self, buttonInterval:int): ...
        def setTimeout(self, timeout:int): ...
        def timeout(self) -> int: ...

    class QInputSettings(Qt3DCore.QComponent):

        def __init__(self, parent:typing.Optional[Qt3DCore.Qt3DCore.QNode]=...): ...

        def eventSource(self) -> QtCore.QObject: ...
        def setEventSource(self, eventSource:QtCore.QObject): ...

    class QKeyEvent(QtCore.QObject):

        def __init__(self, type:QtCore.QEvent.Type, key:int, modifiers:QtCore.Qt.KeyboardModifiers, text:str=..., autorep:bool=..., count:int=...): ...

        def count(self) -> int: ...
        def isAccepted(self) -> bool: ...
        def isAutoRepeat(self) -> bool: ...
        def key(self) -> int: ...
        def matches(self, key_:QtGui.QKeySequence.StandardKey) -> bool: ...
        def modifiers(self) -> int: ...
        def nativeScanCode(self) -> int: ...
        def setAccepted(self, accepted:bool): ...
        def text(self) -> str: ...
        def type(self) -> QtCore.QEvent.Type: ...

    class QKeyboardDevice(QAbstractPhysicalDevice):

        def __init__(self, parent:typing.Optional[Qt3DCore.Qt3DCore.QNode]=...): ...

        def activeInput(self) -> Qt3DInput.QKeyboardHandler: ...
        def axisCount(self) -> int: ...
        def axisIdentifier(self, name:str) -> int: ...
        def axisNames(self) -> typing.List: ...
        def buttonCount(self) -> int: ...
        def buttonIdentifier(self, name:str) -> int: ...
        def buttonNames(self) -> typing.List: ...

    class QKeyboardHandler(Qt3DCore.QComponent):

        def __init__(self, parent:typing.Optional[Qt3DCore.Qt3DCore.QNode]=...): ...

        def focus(self) -> bool: ...
        def setFocus(self, focus:bool): ...
        def setSourceDevice(self, keyboardDevice:Qt3DInput.QKeyboardDevice): ...
        def sourceDevice(self) -> Qt3DInput.QKeyboardDevice: ...

    class QLogicalDevice(Qt3DCore.QComponent):

        def __init__(self, parent:typing.Optional[Qt3DCore.Qt3DCore.QNode]=...): ...

        def actions(self) -> typing.List: ...
        def addAction(self, action:Qt3DInput.QAction): ...
        def addAxis(self, axis:Qt3DInput.QAxis): ...
        def axes(self) -> typing.List: ...
        def removeAction(self, action:Qt3DInput.QAction): ...
        def removeAxis(self, axis:Qt3DInput.QAxis): ...

    class QMouseDevice(QAbstractPhysicalDevice):
        X                        : Qt3DInput.QMouseDevice = ... # 0x0
        Y                        : Qt3DInput.QMouseDevice = ... # 0x1
        WheelX                   : Qt3DInput.QMouseDevice = ... # 0x2
        WheelY                   : Qt3DInput.QMouseDevice = ... # 0x3

        class Axis(object):
            X                        : Qt3DInput.QMouseDevice.Axis = ... # 0x0
            Y                        : Qt3DInput.QMouseDevice.Axis = ... # 0x1
            WheelX                   : Qt3DInput.QMouseDevice.Axis = ... # 0x2
            WheelY                   : Qt3DInput.QMouseDevice.Axis = ... # 0x3

        def __init__(self, parent:typing.Optional[Qt3DCore.Qt3DCore.QNode]=...): ...

        def axisCount(self) -> int: ...
        def axisIdentifier(self, name:str) -> int: ...
        def axisNames(self) -> typing.List: ...
        def buttonCount(self) -> int: ...
        def buttonIdentifier(self, name:str) -> int: ...
        def buttonNames(self) -> typing.List: ...
        def sensitivity(self) -> float: ...
        def setSensitivity(self, value:float): ...
        def setUpdateAxesContinuously(self, updateAxesContinuously:bool): ...
        def updateAxesContinuously(self) -> bool: ...

    class QMouseEvent(QtCore.QObject):
        NoButton                 : Qt3DInput.QMouseEvent = ... # 0x0
        NoModifier               : Qt3DInput.QMouseEvent = ... # 0x0
        LeftButton               : Qt3DInput.QMouseEvent = ... # 0x1
        RightButton              : Qt3DInput.QMouseEvent = ... # 0x2
        MiddleButton             : Qt3DInput.QMouseEvent = ... # 0x4
        BackButton               : Qt3DInput.QMouseEvent = ... # 0x8
        ShiftModifier            : Qt3DInput.QMouseEvent = ... # 0x2000000
        ControlModifier          : Qt3DInput.QMouseEvent = ... # 0x4000000
        AltModifier              : Qt3DInput.QMouseEvent = ... # 0x8000000
        MetaModifier             : Qt3DInput.QMouseEvent = ... # 0x10000000
        KeypadModifier           : Qt3DInput.QMouseEvent = ... # 0x20000000

        class Buttons(object):
            NoButton                 : Qt3DInput.QMouseEvent.Buttons = ... # 0x0
            LeftButton               : Qt3DInput.QMouseEvent.Buttons = ... # 0x1
            RightButton              : Qt3DInput.QMouseEvent.Buttons = ... # 0x2
            MiddleButton             : Qt3DInput.QMouseEvent.Buttons = ... # 0x4
            BackButton               : Qt3DInput.QMouseEvent.Buttons = ... # 0x8

        class Modifiers(object):
            NoModifier               : Qt3DInput.QMouseEvent.Modifiers = ... # 0x0
            ShiftModifier            : Qt3DInput.QMouseEvent.Modifiers = ... # 0x2000000
            ControlModifier          : Qt3DInput.QMouseEvent.Modifiers = ... # 0x4000000
            AltModifier              : Qt3DInput.QMouseEvent.Modifiers = ... # 0x8000000
            MetaModifier             : Qt3DInput.QMouseEvent.Modifiers = ... # 0x10000000
            KeypadModifier           : Qt3DInput.QMouseEvent.Modifiers = ... # 0x20000000
        def button(self) -> Qt3DInput.QMouseEvent.Buttons: ...
        def buttons(self) -> int: ...
        def isAccepted(self) -> bool: ...
        def modifiers(self) -> Qt3DInput.QMouseEvent.Modifiers: ...
        def setAccepted(self, accepted:bool): ...
        def type(self) -> QtCore.QEvent.Type: ...
        def wasHeld(self) -> bool: ...
        def x(self) -> int: ...
        def y(self) -> int: ...

    class QMouseHandler(Qt3DCore.QComponent):

        def __init__(self, parent:typing.Optional[Qt3DCore.Qt3DCore.QNode]=...): ...

        def containsMouse(self) -> bool: ...
        def setContainsMouse(self, contains:bool): ...
        def setSourceDevice(self, mouseDevice:Qt3DInput.QMouseDevice): ...
        def sourceDevice(self) -> Qt3DInput.QMouseDevice: ...

    class QWheelEvent(QtCore.QObject):
        NoButton                 : Qt3DInput.QWheelEvent = ... # 0x0
        NoModifier               : Qt3DInput.QWheelEvent = ... # 0x0
        LeftButton               : Qt3DInput.QWheelEvent = ... # 0x1
        RightButton              : Qt3DInput.QWheelEvent = ... # 0x2
        MiddleButton             : Qt3DInput.QWheelEvent = ... # 0x4
        BackButton               : Qt3DInput.QWheelEvent = ... # 0x8
        ShiftModifier            : Qt3DInput.QWheelEvent = ... # 0x2000000
        ControlModifier          : Qt3DInput.QWheelEvent = ... # 0x4000000
        AltModifier              : Qt3DInput.QWheelEvent = ... # 0x8000000
        MetaModifier             : Qt3DInput.QWheelEvent = ... # 0x10000000
        KeypadModifier           : Qt3DInput.QWheelEvent = ... # 0x20000000

        class Buttons(object):
            NoButton                 : Qt3DInput.QWheelEvent.Buttons = ... # 0x0
            LeftButton               : Qt3DInput.QWheelEvent.Buttons = ... # 0x1
            RightButton              : Qt3DInput.QWheelEvent.Buttons = ... # 0x2
            MiddleButton             : Qt3DInput.QWheelEvent.Buttons = ... # 0x4
            BackButton               : Qt3DInput.QWheelEvent.Buttons = ... # 0x8

        class Modifiers(object):
            NoModifier               : Qt3DInput.QWheelEvent.Modifiers = ... # 0x0
            ShiftModifier            : Qt3DInput.QWheelEvent.Modifiers = ... # 0x2000000
            ControlModifier          : Qt3DInput.QWheelEvent.Modifiers = ... # 0x4000000
            AltModifier              : Qt3DInput.QWheelEvent.Modifiers = ... # 0x8000000
            MetaModifier             : Qt3DInput.QWheelEvent.Modifiers = ... # 0x10000000
            KeypadModifier           : Qt3DInput.QWheelEvent.Modifiers = ... # 0x20000000
        def angleDelta(self) -> QtCore.QPoint: ...
        def buttons(self) -> int: ...
        def isAccepted(self) -> bool: ...
        def modifiers(self) -> Qt3DInput.QWheelEvent.Modifiers: ...
        def setAccepted(self, accepted:bool): ...
        def type(self) -> QtCore.QEvent.Type: ...
        def x(self) -> int: ...
        def y(self) -> int: ...

# eof
